\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{report_perso}[2008/10/23 Extension personnelle, V1.0]

%%%%%%%%%%%%%%%% 
%% Extensions %%
%%%%%%%%%%%%%%%% 

\RequirePackage[utf8]{inputenc} %% Encodage UTF-8
\RequirePackage[T1]{fontenc} %% Correspondance clavier -> document
\RequirePackage[frenchb]{babel} %% Typo française et accent
\RequirePackage{fancyhdr}  %% Gestion du style de page, en tête et pied de page
\RequirePackage{cite}  %% Permet la citation de bibliographie
\RequirePackage[pdftex]{graphicx}  %% Insertion des images
\RequirePackage{geometry}  %% Redimensionnement perso de la page
\RequirePackage{lastpage}  %%  Obtenir la dernière page
% \RequirePackage[version=3]{mhchem}  %%  Ecrire de la chimie
\RequirePackage{setspace}  %%  Pour l'interligne
\RequirePackage{float}  %%  Float
\RequirePackage[nottoc, notlof, notlot]{tocbibind}  %% Créer des entrées dans la toc pour la biblio
\RequirePackage{appendix}  %% annexes
\RequirePackage{pdfpages}  %% Insertion de pdf
\RequirePackage{listings}  %% Insertion de code source
\RequirePackage{subfig}
\RequirePackage{caption}

\RequirePackage[babel]{csquotes}  %% Utilisation correct des guillemets
\MakeAutoQuote{«}{»}

% \RequirePackage[Lenny]{fncychap}  %% Chapitre personnalisé
% \RequirePackage{wrapfig}  %% Positionement des images
% \RequirePackage{eurosym}  %% Signe euro
% \RequirePackage{openbib}  %% Gestion avancée de la bibliographie
% \RequirePackage{minitoc}  %% Table des matières dans les chapitres
% \RequirePackage{makeidx}  %% Gestion de l'index
\RequirePackage{color}  %%  Couleur
\usepackage[colorlinks=true,breaklinks=true]{hyperref}


%% Gestion du pdf et des liens %%

\hypersetup{
  unicode=true,         
  colorlinks=true,       % false: boxed links; true: colored links
  linkcolor=red,          % color of internal links
  citecolor=green,        % color of links to bibliography
  filecolor=magenta,      % color of file links
  urlcolor=cyan           % color of external links
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% Disposition de la page %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

\geometry{a4paper,nohead}

%% Marges %%
\hoffset = 0cm  %% marge gche = 2.54cm + Xcm
\voffset = 0cm  %% marge haut = 2.54 cm + X cm

\oddsidemargin = 18pt  %%  espace entre marge gauche et corps
\marginparsep = 11pt  %% espace entre marge droite et corps
\marginparwidth = 54pt  %% marge à droite 

%% Corps %%
\textheight = 609pt  %% longueur du corps
\textwidth = 424pt  %% largeur du corps

%% Entête et pied de page %%
\headheight = 0pt  %% taille entete (18)
\footskip= 80pt  %% taille pied de page
\headsep = 0pt  %% espace entre entete et corps (25)
\topmargin = 0cm  %% espace entre marge haut et entete


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% Mise en page des paragraphes %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

% \setlength{\parindent}{0pt}                          %% Indentation entre chaque paragraphe
% \lettrine[options]{lettrine}{texte}                  %% Commencer un paragraphe par une lettrine
% \hspace{longueur}                                    %% Definition de l'espacement horizontale entre les mots
% \vspace{longueur}                                    %% Definition de l'espacement verticale entre les lignes
% \stretch{n}                                          %% Production d'un espace élastique, à introduire comme longueur dans \vspace et \hspace
% \footnote{ceci est une note de bas de page.}
% \colorbox[gray]{0.9}{some words}                     %% colorier un paragraphe

\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}      %% Insert un espace verticale entre deux paragraphes
\onehalfspacing


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% Personalisation entête et piede de page %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

\pagestyle{fancy}

\lhead{}
\chead{}
\rhead{}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

% \pageref{LastPage}  %% Insertion du numéro de la dernière page

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% Style de la numérotation des titres %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

% \renewcommand{\thechapter}{\Roman{chapter}.}
% \renewcommand{\thesection}{\arabic{section}.}
% \renewcommand{\thesubsection}{\Alph{subsection}.}
% \renewcommand{\thesubsubsection}{\alph{subsubsection}.}

%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% Commandes personnelles %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

\newcommand{\cit}{\emph} %% citation en italique
\newcommand{\gras}{\textbf} %% nom de programme en police teletype

\newcommand{\image}[3]  %% Commande d'insertion image + légende (ex. d'inclusion : \image{test}{Description de votre image}{0.7}
{
  \begin{figure}[H]
	\begin{center}
      \includegraphics[width=#3\textwidth]{img/#1}
      \caption{\textit{#2}}
      \label{img_#1}
	\end{center}
  \end{figure}
}
\newcommand{\subimage}[7]  %% Commande d'insertion image + légende (ex. d'inclusion : \image{test}{Description de votre image}{0.7}
{
  \begin{figure}[H]
    \begin{center}
      \leavevmode
      \subfloat[#2]{\label{img_#1}\includegraphics[width=#3\textwidth]{img/#1}}
      \hspace{2cm}
      \subfloat[#5]{\label{img_#4}\includegraphics[width=#6\textwidth]{img/#4}}
      \caption{#7}
      \label{img_#1_#4}
    \end{center}
  \end{figure}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% Environnements personnelles %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%% Commande d'insertion d'une transition à la fin d'un chapitre %%
% \newenvironment{transition}{\section*{}}{\newpage}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% Mise en page de l'insertion des codes sources %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

\definecolor{gris_clair}{rgb}{0.9,0.9,0.9}

\lstset{% general command to set parameter(s)
  breaklines=true,
  backgroundcolor=\color{gris_clair},
  basicstyle=\small,          % print whole listing small
  commentstyle=\color{blue}, % white comments
  stringstyle=\ttfamily,      % typewriter type for strings
  showstringspaces=false}     % no special string spaces



%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% Mise en page de garde %%
%%%%%%%%%%%%%%%%%%%%%%%%%%% 

\makeatletter

% Une commande sembleble à \rlap ou \llap, mais centrant son argument
\def\clap#1{\hbox to 0pt{\hss #1\hss}}%
% Une commande centrant son contenu (à utiliser en mode vertical)
\def\ligne#1{%
  \hbox to \hsize{%
    \vbox{\centering #1}}}%
% Une comande qui met son premier argument à gauche, le second au 
% milieu et le dernier à droite, la première ligne ce chacune de ces
% trois boites coïncidant
\def\haut#1#2#3{%
  \hbox to \hsize{%
    \rlap{\vtop{\raggedright #1}}%
    \hss
    \clap{\vtop{\centering #2}}%
    \hss
    \llap{\vtop{\raggedleft #3}}}}%
% Idem, mais cette fois-ci, c'est la dernière ligne
\def\bas#1#2#3{%
  \hbox to \hsize{%
    \rlap{\vbox{\raggedright #1}}%
    \hss
    \clap{\vbox{\centering #2}}%
    \hss
    \llap{\vbox{\raggedleft #3}}}}%
% La commande \maketitle
\def\maketitle{%
  \thispagestyle{empty}\vbox to \vsize{%
    \haut{\@location \\ \@date}{}{\@author}
    \vfill
    \vfill
    \ligne{\Huge \textbf \@title}
    \vfill
    \vfill
    \bas{\@blurb}{}{Responsable : P. Desbarat}
  }%
  \cleardoublepage
}

% Les commandes permettant de définir la date, le lieu, etc.
\def\date#1{\def\@date{#1}}
\def\author#1{\def\@author{#1}}
\def\title#1{\def\@title{#1}}
\def\blurb#1{\def\@blurb{#1}}
\def\location#1{\def\@location{#1}}

\makeatother

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% Mise en page de la table des matières %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

% \setcounter{tocdepth}{profondeur}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% Mise en page des titres %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%% Style du titre "chapter" %%
\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \interlinepenalty\@M
    \ifnum \c@secnumdepth >\m@ne
    \Huge\bfseries \thechapter .
    \fi
    \Huge \bfseries #1\par\nobreak
    \vskip 40\p@
  }}

\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries  #1\par\nobreak
    \vskip 40\p@
  }}
\makeatother


%% Commande perso %%

\newcommand{\NQ}
{
~\textbf{NuQleosim}~
}
